home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / OCEStandardDirectory.idl < prev    next >
Text File  |  1996-05-01  |  7KB  |  215 lines

  1. /*
  2.      File:        OCEStandardDirectory.idl
  3.  
  4.      Contains:    Apple Open Collaboration Environment Standard Directory Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __OCESTANDARDDIRECTORY_IDL__
  19. #define __OCESTANDARDDIRECTORY_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __ICONS_IDL__
  25. #include <Icons.idl>
  26. #endif
  27. #ifndef __TYPES_IDL__
  28. #include <Types.idl>
  29. #endif
  30. #ifndef __WINDOWS_IDL__
  31. #include <Windows.idl>
  32. #endif
  33. #ifndef __OCE_IDL__
  34. #include <OCE.idl>
  35. #endif
  36. #ifndef __OCEAUTHDIR_IDL__
  37. #include <OCEAuthDir.idl>
  38. #endif
  39.  
  40. #ifdef __SOMIDL__
  41.  
  42. #if FOR_SYSTEM7_ONLY
  43. /* Collaboration Package Gestalts. */
  44. #endif
  45. #if FOR_SYSTEM7_ONLY
  46. /* Prompt For Identity structures */
  47. /* Values of SDPIdentityKind */
  48. typedef unsigned short            SDPIdentityKind;
  49.  
  50. typedef unsigned short            SDPLoginFilterKind;
  51.  
  52. /* Panel Structures */
  53. /*
  54. While the panel is in operation, four selection states may exist.
  55.     1) kSDPNothingSelected means nothing is selected.
  56.     2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  57.     3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  58.     4) kSDPRecordSelected means that a record is currently selected.
  59. */
  60. /* Values of SDPSelectionState */
  61. typedef unsigned short            SDPSelectionState;
  62.  
  63. /*
  64. This type informs the caller of the action the user took, either as the result
  65. of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  66.  
  67. kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  68. state change.
  69.  
  70. kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  71. record. This is returned, for example, when a user double-clicks on a record.
  72.  
  73. kSDPChangedSelection implies that the user clicked on a new item (which may mean
  74. that no item is selected).
  75. */
  76. /* Values of SDPPanelState */
  77. typedef unsigned short            SDPPanelState;
  78.  
  79. /*
  80. Your application may read any of the fields in a SDPPanelRecord, but it should
  81. use the appropriate routines to make changes to the records with the exception
  82. of the refCon field which your application may read or write at will.  Private
  83. information follows the SDPPanelRecord, so the handle must not be re-sized.
  84. */
  85. typedef SOMLargeStruct            SDPPanelRecord;                /* Derived from a struct of 42 bytes in size */
  86.  
  87. typedef OpaquePtr                SDPPanelPtr;                /* Substituted OpaquePtr for ``SDPPanelRecord*'' */
  88.  
  89. typedef OpaquePtr                SDPPanelHandle;                /* Substituted OpaquePtr for ``SDPPanelPtr*'' */
  90.  
  91. typedef OpaquePtr PanelBusyProcPtr;
  92. typedef OpaquePtr PanelBusyUPP;
  93. typedef PanelBusyUPP            PanelBusyProc;
  94.  
  95. /* Find Panel Structures */
  96. /* Values of SDPFindPanelState */
  97. typedef unsigned short            SDPFindPanelState;
  98.  
  99. /* Values of SDPFindPanelFocus */
  100. typedef unsigned short            SDPFindPanelFocus;
  101.  
  102. typedef SOMLargeStruct            SDPFindPanelRecord;            /* Derived from a struct of 20 bytes in size */
  103.  
  104. typedef OpaquePtr                SDPFindPanelPtr;            /* Substituted OpaquePtr for ``SDPFindPanelRecord*'' */
  105.  
  106. typedef OpaquePtr                SDPFindPanelHandle;            /* Substituted OpaquePtr for ``SDPFindPanelPtr*'' */
  107.  
  108. /* Values of SDPFindPanelResult */
  109. typedef unsigned short            SDPFindPanelResult;
  110.  
  111. typedef OpaquePtr                PackedRStringListHandle;    /* Substituted OpaquePtr for ``PackedPathNamePtr*'' */
  112.  
  113. typedef OpaquePtr FindPanelBusyProcPtr;
  114. typedef OpaquePtr FindPanelBusyUPP;
  115. typedef FindPanelBusyUPP        FindPanelBusyProc;
  116.  
  117. /* Prompt For Identity Routines */
  118. /*
  119. SDPNewPanel creates a new panel. You supply the window in which the panel
  120. is to live, the bounds for the panel (which includes both the menu and the list),
  121. whether or not the panel is to be initially visible, the initial RLI (nil for
  122. catalogs and volumes), the types of records that will be shown (only a single
  123. (non-nil) type which may contain wildcards), the identity by which to browse
  124. (for access control reasons), and a refCon which is  available to the caller.
  125. */
  126. /*
  127. SDPSetIdentity Sets the identity used for browsing.  NOTE: This call is likely to go
  128. away if the new authentication scheme works.
  129. */
  130. /*
  131. SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  132. 'panl' resource.
  133. */
  134. /*
  135. Call this when you're completely done with a panel. It deallocates all of the
  136. associated data structures.
  137. */
  138. /*
  139. If the panel is visible, it makes it invisible by hiding the menu, turning off
  140. drawing of the list, and erasing and  invaling the list's rectangle.
  141. */
  142. /* If the panel is invisible, it makes it visible and draws it. */
  143. /* Disables the list and menu so that it won't accept any commands. */
  144. /*
  145. Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  146. the panel's window.
  147. */
  148. /*
  149. Resizes the panel to have the given width and height (keeping the upper-left-hand
  150. corner in a fixed position).
  151. */
  152. /*
  153. This routine simulates a double-click on the selected item (if there is no selected
  154. item, then it does nothing), and it returns the result of that "double-click" via the
  155. whatHappened parameter. If a container is selected, then that container will be
  156. opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  157. level in the hierarchy, then kSDPSelectedAnItem is returned.
  158. */
  159. /*
  160. Returns whether a record is selected, something else is selected, or nothing is
  161. selected.
  162. */
  163. /*
  164. Returns the size of the currently-selected DSSpec, or zero if a record is
  165. not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  166. */
  167. /*
  168. Returns the currently-selected DSSpec, or a zero-lengthed
  169. DSSpec if a record is not selected. It is assumed that the selection
  170. buffer allocated is large enough.
  171. */
  172. /*
  173. Forces browsing to the specified RLI. If prli is the current RLI, then it does
  174. nothing.
  175. */
  176. /*
  177. This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  178. including NULL events.  If you have more than 1 panel, you will need to
  179. call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  180. SDPUpdatePanel as described below.
  181. */
  182. /*
  183. SDPUpdatePanel should be called in response to an update event.  Generally you will
  184. have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  185. is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  186. theRgn, if this is desired, you must first call SetClip.
  187. */
  188. /*
  189. SDPSelectString scrolls and selects the closest matching string at the current
  190. level.  This is the same behavior as if the user typed in the given string.
  191. */
  192. /*
  193. SDPGetPathLength returns the length in bytes required to hold the current path name
  194. in RLI format.  This corresponds to the path name in the popup menu.
  195. */
  196. /* SDPGetPath returns the current rli. */
  197. /*
  198. SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  199. the focus boolean.
  200. */
  201. /*
  202. SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  203. balloon help.  Balloon help is unavailable until this call is made.
  204. */
  205. /*
  206. SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  207. the panel is aynchronously busy.
  208. */
  209. #endif
  210.  
  211. #endif /* __SOMIDL__ */
  212.  
  213. #endif /* __OCESTANDARDDIRECTORY_IDL__ */
  214.  
  215.